package com.hqd.ch03.v37.web.multipart;

import com.hqd.ch03.utils.MultiValueMap;

import java.util.Iterator;
import java.util.List;
import java.util.Map;

/**
 * 文件上传请求
 */
public interface MultipartRequest {
    /**
     * 获取所有文件名
     *
     * @return
     */
    Iterator<String> getFileNames();

    /**
     * 获取文件
     *
     * @param name
     * @return
     */
    MultipartFile getFile(String name);

    /**
     * 获取文件列表
     *
     * @param name
     * @return
     */
    List<MultipartFile> getFiles(String name);

    /**
     * 获取文件，封装成Map
     *
     * @return
     */
    Map<String, MultipartFile> getFileMap();

    /**
     * 获取文件，封装成MultiValueMap
     *
     * @return
     */
    MultiValueMap<String, MultipartFile> getMultiFileMap();

    /**
     * 获取文件类型
     *
     * @param paramOrFileName
     * @return
     */
    String getMultipartContentType(String paramOrFileName);
}
